package com.wjw.java.others.bigNumber_;

import java.math.BigDecimal;

/**
 * 当我们需要保存一个精度很高的数时,double
 * 当使用BigDecimal时,不能直接进行 + - * / 运算
 * 需要使用对应的方法
 */
public class BigDecimal_ {

    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("99.9999999999");
        BigDecimal b = new BigDecimal("99.0000000001");
        BigDecimal c = new BigDecimal("3.3");
        System.out.println(a);
        System.out.println(b);
        //加
        BigDecimal addResult = a.add(b);
        System.out.println(addResult);
        //减
        BigDecimal subtractResult = a.subtract(b);
        System.out.println(subtractResult);
        //乘
        BigDecimal multiplyResult = a.multiply(b);
        System.out.println(multiplyResult);
        //除
        BigDecimal divideResult = a.divide(c);
        //除,指定精度,如果有无限循环小数,就会保留分子的精度
        BigDecimal divideResult2 = a.divide(c,BigDecimal.ROUND_CEILING);
        System.out.println(divideResult);
        System.out.println(divideResult2);
    }
}
